.TH MK9660 1
.SH NAME
dump9660, mk9660 \- create an ISO-9660 CD image
.SH SYNOPSIS
.B mk9660
[
.B -:D
]
[
.B -9cjr
]
[
.B -b
.I bootfile
]
[
.B -p
.I proto
]
[
.B -s
src
]
[
.B -v
volume
]
.I image
.PP
.B dump9660
[
.B -:D
]
[
.B -9cjr
]
[
.B -p
.I proto
]
[
.B -s
src
]
[
.B -v
volume
]
[
.B -m
.I maxsize
]
[
.B -n
.I now
]
.I image
.SH DESCRIPTION
.I Mk9660
writes to the random access file
.I image
an ISO-9660 CD image containing the
files named in
.I proto
(by default,
.BR \*9/proto/allproto )
from the file tree
.I src
(by default,
the current directory).
The
.I proto
file is formatted as described in
.IR proto (3).
.PP
The created CD image will be in ISO-9660
format, but by default the file names will
be stored in UTF-8 with no imposed length 
or character restrictions.
The
.B -c
flag causes
.I mk9660
to use only file names in ``8.3'' form
that use digits, letters, and underscore.
File names that do not conform are changed
to 
.BI D nnnnnn
(for directories)
or
.BI F nnnnnn
(for files);
a key file
.B _CONFORM.MAP
is created in the root
directory to ease the reverse process.
.PP
If the
.B -9
flag is given, the system use fields at the end of
each directory entry will be populated with
Plan directory information (owner, group, mode,
full name); this is interpreted by
.IR 9660srv .
.PP
If the
.B -j
flag is given, the usual directory tree is written,
but an additional tree in Microsoft Joliet format is
also added.
This second tree can contain long Unicode file names,
and can be read by
.I 9660srv
as well as most versions of Windows
and many Unix clones.
The characters
.BR * ,
.BR : ,
.BR ; ,
.BR ? ,
and
.B \e
are allowed in Plan 9 file names but not in Joliet file names;
non-conforming file names are translated
and a 
.B _CONFORM.MAP
file written
as in the case of the
.B -c
option.
.PP
If the
.B -r
flag is given, Rock Ridge extensions are written in the
format of the system use sharing protocol;
this format provides Posix-style file metadata and is 
common on Unix platforms.
.PP
The options
.BR -c ,
.BR -9 ,
.BR -j ,
and
.B -r
may be mixed freely with the exception that
.B -9
and
.B -r
are mutually exclusive.
.PP
The
.B -v
flag sets the volume title;
if unspecified, the base name of
.I proto
is used.
.PP
The 
.B -:
flag causes 
.B mk9660
to replace colons in scanned file names with spaces;
this is the inverse of the map applied by Plan 9's
\fIdossrv\fR(4)
and is useful for writing Joliet CDs containing data
from FAT file systems.
.PP
The
.B -b
option creates a bootable CD.
Bootable CDs contain pointers to floppy images which are
loaded and booted by the BIOS.
.I Bootfile
should be the name of the floppy image to use;
it is a path relative to the root of the created CD.
That is, the boot floppy image must be listed in the
.I proto
file already:
the
.B -b
flag just creates a pointer to it.
.PP
The
.B -D
flag creates immense amounts of debugging output
on standard error.
.PP
.I Dump9660
is similar in specification to
.I mk9660
but creates and updates backup CD images in the style of
the 
.I dump
file system
(see Plan 9's \fIfs\fR(4)).
The dump is file-based rather than block-based:
if a file's contents have not changed since the last
backup, only its directory entry will be rewritten.
.PP
The
.B -n
option specifies a time (in seconds since January 1, 1970)
to be used for naming the dump directory.
.PP
The 
.B -m
option specifies a maximum size for the image;
if a backup would cause the image to grow larger than
.IR maxsize ,
it will not be written, and
.I dump9660
will exit with a non-empty status.
.SH EXAMPLE
.PP
Create an image of the Plan 9 source tree, 
including a conformant ISO-9660 directory tree,
Plan 9 extensions in the system use fields, and
a Joliet directory tree.
.IP
.EX
mk9660 -9cj -s /n/bootes -p srcproto cdimage
.EE
.SH SOURCE
\*9/src/cmd/9660
.SH "SEE ALSO
.IR proto (3)
.\" .SH "SEE ALSO"
.\" .I 9660srv
.\" (in
.\" .IR dossrv (4)),
.\" .IR cdfs (4),
.\" .IR proto (3)
